<template>
	<view class="charts-box">
		<view class="tabs_list">
			<view :class="['tabs_item',item.isSelect?'active' :'']" v-for="(item,index) in tabList" :key="index"
				@click="changAcitve(index)">
				{{item.text}}
			</view>
		</view>
		<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
	</view>
</template>

<script>
	export default {
		data() {
			return {
				tabList: [
					// {
					// 	text: '近7天',
					// 	isSelect: true,
					// 	id: 0
					// },
					// {
					// 	text: '近30天',
					// 	isSelect: false,
					// 	id: 1
					// },
					// {
					// 	text: '近90天',
					// 	isSelect: false,
					// 	id: 2
					// }
				],
				chartData: {},
				//您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数，如都是默认参数，此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
				opts: {
					color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
						"#ea7ccc"
					],
					padding: [15, 10, 0, 15],
					enableScroll: false,
					legend: {
						show: false
					},
					xAxis: {
						disableGrid: true,
						itemCount: 30,
						labelCount: 3
					},
					yAxis: {
						gridType: "dash",
						dashLength: 2
					},
					extra: {
						line: {
							type: "straight",
							width: 2,
							activeType: "hollow"
						},
						tooltip: {
							borderRadius: 16,
							bgColor: '#fff',
							lineHeight: 20,
							fontColor: '#000',
							legendShow: false, // 确保图例不显示
							borderColor: '#fafafa',
							borderWidth: 2,
							bgOpacity: 1
						}
					}
				}
			};
		},

		onLoad(option) {

			this.getServerData(option.ShopID, option.ID);
		},
		methods: {
			changAcitve(index) {
				this.tabList.forEach(item => item.isSelect = false)
				this.tabList[index].isSelect = true
			},
			async getServerData(ShopID, ID) {
				let res = await this.$api.post('Samount/GetAgentSamount', {
					ShopID,
					ID
				})
				console.log(res);
				//模拟从服务器获取数据时的延时
				let categories = []
				let data = []
				res.data.forEach((item) => {
					categories.push(item.TransactionDay)
					data.push(item.TotalAmount)
				})
				setTimeout(() => {
					//模拟服务器返回数据，如果数据格式和标准格式不同，需自行按下面的格式拼接
					let res = {
						categories: categories,
						series: [{
							name: "收益",
							data: data
						}, ]
					};
					this.chartData = JSON.parse(JSON.stringify(res));
				}, 500);
			},
		}
	};
</script>

<style lang="scss" scoped>
	/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
	.charts-box {
		width: 100%;
		height: 300px;
	}

	.tabs_list {
		margin: 0 auto;
		width: 720rpx;
		display: flex;
		justify-content: space-between;
		border-radius: 5rpx;
		border: 1rpx solid #3572fe;

		.tabs_item {
			flex: 1;
			display: flex;
			align-items: center;
			justify-content: center;
			height: 60rpx;
			border-right: 1rpx solid #3572fe;

			&:nth-last-child(1) {
				border-right: none;
			}
		}

		.active {
			background-color: #3572fe;
			color: white;
		}
	}
</style>